Revert "libotutil: Make use of GBytes in ot_variant_read()"
authorColin Walters <walters@verbum.org>
Sun, 18 Aug 2013 11:51:25 +0000 (07:51 -0400)
committerColin Walters <walters@verbum.org>
Sun, 18 Aug 2013 11:51:25 +0000 (07:51 -0400)
This reverts commit c77908bf514d61e75798932f61b5b414d9e36a3c; we can't
do this since g_variant_get_data_as_bytes() is a GLib 2.36 API.

src/libotutil/ot-variant-utils.c

index 7b034a422f2af8c9de4fe75b68f44766f2565955..417975f651a5510cea8d83b3a7e97e85c4c2fa23 100644 (file)
@@ -190,12 +190,12 @@ GInputStream *
 ot_variant_read (GVariant             *variant)
 {
   GMemoryInputStream *ret = NULL;
-  gs_unref_bytes GBytes *bytes = NULL;
-
-  bytes = g_variant_get_data_as_bytes (variant);
-  ret = (GMemoryInputStream*)g_memory_input_stream_new ();
-  g_memory_input_stream_add_bytes (ret, bytes);
 
+  ret = (GMemoryInputStream*)g_memory_input_stream_new_from_data (g_variant_get_data (variant),
+                                                                  g_variant_get_size (variant),
+                                                                  NULL);
+  g_object_set_data_full ((GObject*)ret, "ot-variant-data",
+                          g_variant_ref (variant), (GDestroyNotify) g_variant_unref);
   return (GInputStream*)ret;
 }